home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / earcd / ppaint64 / rexx / animtoframes.pprx < prev    next >
Text File  |  1995-09-16  |  2KB  |  84 lines

  1. /* PPaint Amiga Rexx script - Copyright © 1995 Cloanto Italia srl */
  2.  
  3. /*
  4.   $VER: AnimToFrames.pprx 1.1
  5. */
  6.  
  7.  
  8. MYPORT = 'PPAINT'
  9.  
  10. IF ~SHOW('P', MYPORT) THEN DO
  11.     IF EXISTS('PPaint:PPaint') THEN DO
  12.         ADDRESS COMMAND 'Run >NIL: PPaint:PPaint'
  13.         DO 30 WHILE ~SHOW('P',MYPORT)
  14.              ADDRESS COMMAND 'Wait >NIL: 1 SEC'
  15.         END
  16.     END
  17.     ELSE DO
  18.         SAY "Personal Paint could not be loaded."
  19.         EXIT 10
  20.     END
  21. END
  22.  
  23. IF ~SHOW('P', MYPORT) THEN DO
  24.     SAY 'Personal Paint Rexx port could not be opened.'
  25.     EXIT 10
  26. END
  27.  
  28. ADDRESS VALUE MYPORT
  29. OPTIONS RESULTS
  30. OPTIONS FAILAT 10000
  31.  
  32. Version 'REXX'
  33. IF RESULT < 3 THEN DO
  34.     errmess = 'This script requires a newer_version of Personal Paint.'
  35.     SAY errmess
  36.     RequestNotify 'PROMPT="'errmess'"'
  37.     EXIT 10
  38. END
  39.  
  40. LockGUI
  41. GetFrameNum
  42. frames = RESULT
  43. IF frames = 0 THEN DO
  44.     RequestFile '"Select Animation"'
  45.     IF RC = 0 THEN DO
  46.         LoadAnim RESULT NEW
  47.         GetFrameNum
  48.         frames = RESULT
  49.     END
  50. END
  51. IF frames > 0 THEN DO
  52.     RequestFile 'TITLE "Select Format and Root Name for Frame Files" SAVEMODE FORMATS FORCE'
  53.     IF RC = 0 THEN DO
  54.         savedata = RESULT
  55.         endf = INDEX(savedata, '"', 2)
  56.         filename = SUBSTR(savedata, 2, endf - 2)
  57.         filedata = SUBSTR(savedata, endf + 1)
  58.         GetFramePos
  59.         savepos = RESULT
  60.         errcode = 0
  61.         SetFramePos 1
  62.         DO fnum = 1 TO frames
  63.             fname = filename || "." || RIGHT(fnum, 3, "0")
  64.             SaveImage '"'fname'"'filedata FORCE QUIET
  65.             IF RC ~= 0 THEN DO
  66.                 IF RC = 5 THEN
  67.                     errmess = 'User abort during save.'
  68.                 ELSE
  69.                     errmess = 'Error 'RC' during save.'
  70.                 errcode = RC
  71.                 LEAVE
  72.             END
  73.             SetFramePos NEXT
  74.         END
  75.         SetFramePos savepos
  76.  
  77.         IF errcode > 0 THEN DO
  78.             SAY errmess
  79.             RequestNotify 'PROMPT="'errmess'"'
  80.         END
  81.     END
  82. END
  83. UnlockGUI
  84.